<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>写一个tack栈和queue队的示例</title>
</head>
<body>
  <script>
    // 栈
    function stack() {
      // 创建数组
      this.items = []
      // 为原型添加方法
      // 添加
      stack.prototype.push = (element) => {
        this.items.push(element)
      }
      // 移除
      stack.prototype.pop = () => {
        return this.items.pop()
      }
    }
    // 队列
    function queue() {
      this.items = []
      // 添加
      queue.prototype.addueue = (element) => {
        this.items.push(element)
      }
      // 移除
      queue.prototype.remueue = () => {
        return this.items.shift()
      }
    }
    // 使用
    // 栈
    let s = new stack()
    // 添加
    s.push(111)
    s.push(222)
    s.push(333)
    console.log(s);
    // 移除
    s.pop()
    console.log(s);
    // 后进先出：后添加进来的移除的时候先移除
    // 队
    let q = new queue()
    // 添加
    q.addueue(111)
    q.addueue(222)
    q.addueue(333)
    console.log(q);
    // 移除
    q.remueue()
    console.log(q);
    // 先进先出：先添加进来的移除的时候先移除
  </script>
</body>
</html>